package com.cskaoyan._19collection._06collection._01collectiondemo;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Macro_Ray
 * @since 2024/4/1 10:39
 */
/*
    public boolean add(E e)             添加
    public void clear()                 清空
    public boolean remove(E e)          删除
    public boolean contains(object obj) 判断是否包含
    public boolean isEmpty()            判断是否为空
    public int size()                   集合长度
*/
public class CollApi {
    // Collection是一个接口，我们不能直接创建他的对象
    // 我们可以从它的子类中获取到具体的实现类，如ArrayList、LinkedList等

    @Test
    public void addTest() {
        Collection<String> coll = new ArrayList<>();

        // 添加元素
        coll.add("aaaaa");
        coll.add("bbbb");
        coll.add("cccc");
        coll.add("dddddd");
        System.out.println(coll);

        // 清空集合
        coll.clear();
        System.out.println(coll);

    }

    @Test
    public void removeTest() {
        Collection<String> coll = new ArrayList<>();
        // 添加元素
        coll.add("aaaaa");
        coll.add("bbbb");
        coll.add("cccc");
        coll.add("dddddd");
        System.out.println(coll);

        // 删除元素
        // 细节：因为Collection里面定义的是共性的方法，所以此时不能通过索引进行删除，只能通过元素的对象进行删除
        // remove方法有一个boolean类型的返回值，删除成功返回true，失败返回false（元素不存在）
        coll.remove("aaaaa");
        System.out.println(coll);


    }

    @Test
    public void containsTest() {
        Collection<String> coll = new ArrayList<>();
        // 添加元素
        coll.add("aaaaa");
        coll.add("bbbb");
        coll.add("cccc");
        coll.add("dddddd");
        System.out.println(coll);

        // 判断是否包含元素
        // 细节：contains方法底层是依赖equals方法的
        // 所以如果集合中存储的是自定义对象，也想通过contains方法判断是否包含，需要重写equals方法

        // contains方法有一个boolean类型的返回值，包含返回true，不包含返回false
        boolean flag = coll.contains("aaaaa");
        System.out.println(flag);

        // 判断是否为空
        boolean flag2 = coll.isEmpty();
        System.out.println(flag2);
    }

    @Test
    public void sizeTest() {
        Collection<String> coll = new ArrayList<>();
        // 添加元素
        coll.add("aaaaa");
        coll.add("bbbb");
        coll.add("cccc");
        coll.add("dddddd");
        System.out.println(coll);

        // 集合长度
        int size = coll.size();
        System.out.println(size);
    }
}
